package org.example.flinketl.vo;

import java.math.BigDecimal;

import javax.validation.constraints.NotNull;
import javax.validation.constraints.Pattern;

import org.hibernate.validator.constraints.Length;

import lombok.Data;
import lombok.ToString;

/**
 * 活期交易
 */
@Data
@ToString
public class SaMx   implements Vo{
  /** 证件号码 */
  @NotNull
  String uid;
  /** 卡号 */
  @Length(min = 1)
  @Pattern(regexp = "\\d*")
  String card_no;
  /** 客户名称 */
  @Length(min = 1)
  String cust_name;
  /** 账号 */
  @Length(min = 1)
  @Pattern(regexp = "\\d*")
  String acct_no;
  /** int4 NULL活存帐户明细号 */
  @NotNull
  Integer det_n;
  /** 币种 */
  @Length(min=1)
  String curr_type;
  /** 操作柜员号 */
  String tran_teller_no;
  /** 贷方发生额 */
  BigDecimal cr_amt;
  /** 余额 */
  BigDecimal bal;
  /** 交易金额 */
  @NotNull
  BigDecimal tran_amt;
  /** 交易卡号 */
  @Pattern(regexp = "\\d*")
  String tran_card_no;
  /** 交易类型 */
  String tran_type;
  /** 交易流水号 */
  String tran_log_no;
  /** 借方发生额 */
  BigDecimal dr_amt;
  /** 开户机构号 */
  String open_org;
  /** 摘要 */
  String dscrp_code;
  /** 备注 */
  String remark;
  /** 交易时间 */
  String tran_time;
  /** 交易日期 */
  String tran_date;
  /** 系统日期 */
  String sys_date;
  /** 交易代码 */
  String tran_code;
  /** 备注_1 */
  String remark_1;
  /** 对方户名 */
  @Length(min = 1)
  String oppo_cust_name;
  /** 代理人证件种类 */
  String agt_cert_type;
  /** 代理人证件号 */
  String agt_cert_no;
  /** 代理人名称 */
  String agt_cust_name;
  /** 渠道标志 */
  String channel_flag;
  /** 对方账号 */
  String oppo_acct_no;
  /** 对方行号 */
  String oppo_bank_no;
  /** 源系统日期 */
  String src_dt;
  /** 数据日期 */
  String etl_dt;

  public static String getTableName() {
    return "dm_v_tr_sa_mx";
  }

  @Override
  public String getContentType() {
    return "sa";
  }
}
